package net.hn.hnms.biz.plan.service;

import net.hn.hnms.biz.plan.request.ExecutionSaleReq;
import net.hn.hnms.biz.plan.vo.ExecutionSaleVo;
import net.hn.hnms.biz.plan.vo.SalesStatisticsVo;
import net.hn.hnms.sys.common.core.domain.ResponsePage;
import net.hn.hnms.sys.common.mybatis.core.page.PageQuery;

import java.util.List;

/**
 * @author ly
 * 销售计划服务层
 * @date 2022-09-22
 */
public interface ExecutionSaleService {


    /**
     *
     * @param executionSale
     * @param pageQuery
     * 分页查询销售计划列表
     */
    ResponsePage<ExecutionSaleVo> selectPageList(ExecutionSaleReq executionSale, PageQuery pageQuery);

    SalesStatisticsVo selectSalesStatisticsVo(ExecutionSaleReq req, String month);


    /**
     *
     * @param executionSale
     * 查询销售计划列表
     */
    List<ExecutionSaleVo> selectList(ExecutionSaleReq executionSale);

    /**
     *
     * @param executionSale
     * 新增销售计划
     */
    int insert(ExecutionSaleReq executionSale);

    /**
     *
     * @param idList
     * 批量删除
     */
    void deleteBatch(List<String> idList);


    /**
     *
     * @param executionSale
     * 单个更新 根据id主键 更新销售计划详情
     */
    void updateById(ExecutionSaleReq executionSale);


    /**
     *
     * @param id
     * 通过主键id 查询详情
     */
    ExecutionSaleVo selectDetailById(String id);

    /**
     * 启用/禁用
     * @param id 数据id
     * @param status  status: 0:启用 1:禁用
     */
    //void changeStatus(String id, Integer status);
}